/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cx1.service.api;

import java.util.List;
import org.cx1.model.Inquiry;
import org.cx1.model.Invite;
import org.cx1.model.Listing;
import org.cx1.model.utils.ServiceResponse;

/**
 *
 * @author ECH
 */
public interface IEmailService {
    
    public ServiceResponse<Boolean> sendEmail(String email, String title, String body);
    
    public ServiceResponse<Boolean> sendInvite1(String name, String email);
    
    public ServiceResponse<Boolean> sendInvite2(String name, String email);
    
    public ServiceResponse<Boolean> sendInviteConfirmation(Invite invite);
    
    public ServiceResponse<Boolean> sendPostListingReminder(String name, String email);
    
    public ServiceResponse<Boolean> sendPostListingConfirmation(String listingTitle, String name, String email);
    
    public ServiceResponse<Boolean> sendPostListingApproved(String listingTitle, String name, String email);
    
    public ServiceResponse<Boolean> sendPostListingRejected(String listingTitle, String name, String email);
    
    public ServiceResponse<Boolean> sendListingFeatured(String listingTitle, String name, String email);
    
    public ServiceResponse<Boolean> sendSignupConfirmation(String name, String email, String password);
    
    public ServiceResponse<Boolean> sendInquiry(Inquiry inquiry);
    
    public ServiceResponse<Boolean> sendListingExpiredCheck(String listingID, String listingTitle, String name, String email);
        
    public ServiceResponse<Boolean> sendLeadGenerated(String name, String email, String description);
    
    public ServiceResponse<Boolean> sendLoginDetails(String email);
        
    public ServiceResponse<Boolean> sendExeptionCaught(String email, String message);
    
    public ServiceResponse<Boolean> sendNewTransaction(String email, String message);
    
    public ServiceResponse<Boolean> sendPropertyFeaturedActive(String listingTitle, String name, String toEmail, String city, String rentalTerm, String startDate, String endDate, String url);
        
    public ServiceResponse<Boolean> sendPropertyFeaturedWarning(String listingTitle, String name, String email);
    
    public ServiceResponse<Boolean> sendPropertyFeaturedExpired(String listingTitle, String name, String email);
    
    public ServiceResponse<Boolean> sendListingBoost(String listingID, String listingTitle, String name, String email);
        
    public ServiceResponse<Boolean> sendListingStats(String listingID, String listingTitle, String name, String email);
    
    public ServiceResponse<Boolean> sendLeadView(String leadID, String name, String email);
            
}
